home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / prog / mui / muirexx2.2 / demos / muirexxbuild / set_object.rexx < prev    next >
OS/2 REXX Batch file  |  1996-09-29  |  13KB  |  532 lines

  1. /* */
  2. options results
  3. parse arg '['obj']'
  4.  
  5. address BUILD
  6.  
  7. parse var obj gobj .
  8. select
  9.     when index(gobj,'window') > 0 then call set_window(obj)
  10.     when index(gobj,'group') > 0 then call set_group(obj)
  11.     when index(gobj,'menu') > 0 then call set_menu(obj)
  12.     when index(gobj,'do') > 0 then call set_do(obj)
  13.     when index(gobj,'item') > 0 then call set_item(obj)
  14.     when index(gobj,'space') > 0 then call set_space(obj)
  15.     when index(gobj,'label') > 0 then call set_label(obj)
  16.     when index(gobj,'view') > 0 then call set_view(obj)
  17.     when index(gobj,'gauge') > 0 then call set_gauge(obj)
  18.     when index(gobj,'meter') > 0 then call set_gauge(obj)
  19.     when index(gobj,'button') > 0 then call set_gadget(obj)
  20.     when index(gobj,'text') > 0 then call set_gadget(obj)
  21.     when index(gobj,'switch') > 0 then call set_gadget(obj)
  22.     when index(gobj,'image') > 0 then call set_image(obj)
  23.     when index(gobj,'check') > 0 then call set_image(obj)
  24.     when index(gobj,'cycle') > 0 then call set_cycle(obj)
  25.     when index(gobj,'radio') > 0 then call set_cycle(obj)
  26.     when index(gobj,'string') > 0 then call set_string(obj)
  27.     when index(gobj,'popasl') > 0 then call set_popasl(obj)
  28.     when index(gobj,'poplist') > 0 then call set_popasl(obj)
  29.     when index(gobj,'slider') > 0 then call set_slider(obj)
  30.     when index(gobj,'popslider') > 0 then call set_slider(obj)
  31.     when index(gobj,'knob') > 0 then call set_slider(obj)
  32.     when index(gobj,'dirlist') > 0 then call set_dirlist(obj)
  33.     when index(gobj,'volumelist') > 0 then call set_volumelist(obj)
  34.     when index(gobj,'list') > 0 then call set_list(obj)
  35.     when index(gobj,'object') > 0 then call set_object(obj)
  36.     when index(gobj,'application') > 0 then call set_application(obj)
  37.     when index(gobj,'method') > 0 then call set_method(obj)
  38.     otherwise call set_generic(obj)
  39. end
  40.  
  41. exit
  42.  
  43. set_window: procedure
  44. parse arg obj
  45.  
  46. line = obj
  47. string ID S1
  48. if result ~= '' then line = line||' ID '||result
  49. popasl ID S2
  50. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  51. string ID S3
  52. if result ~= '' then line = line||' PORT '||result
  53. string ID S4
  54. if result ~= '' then line = line||' TITLE """'||result||'"""'
  55. line = line||get_attrs()
  56. call finish line
  57. return
  58.  
  59. set_group: procedure
  60. parse arg obj
  61.  
  62. line = obj
  63. string ID S1
  64. if result ~= '' then line = line||' ID '||result
  65. popasl ID S2
  66. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  67. string ID S3
  68. if result ~= '' then line = line||' PORT '||result
  69. string ID S4
  70. if result ~= '' then line = line||' LABELS """'||result||'"""'
  71. check ID C1
  72. if result then line = line||' FRAME'
  73. check ID C2
  74. if result then line = line||' HORIZ'
  75. cycle ID L1
  76. if result ~= 'NORMAL' then line = line||' '||upper(result)
  77. line = line||get_attrs()
  78. call finish line
  79. return
  80.  
  81. set_menu: procedure
  82. parse arg obj
  83.  
  84. line = obj
  85. string ID S1
  86. if result ~= '' then line = line||' ID '||result
  87. string ID S2
  88. if result ~= '' then line = line||' LABEL """'||result||'"""'
  89. line = line||get_attrs()
  90. call finish line
  91. return
  92.  
  93. set_do: procedure
  94. parse arg obj
  95.  
  96. line = obj
  97. string ID P1
  98. if result ~= '' then line = line||' '||strip(result)
  99. string ID P2
  100. if result ~= '' then line = line||' = '||strip(result)
  101. string ID P3
  102. if result ~= '' then line = line||' to '||strip(result)
  103. call finish line
  104. return
  105.  
  106. set_item: procedure
  107. parse arg obj
  108.  
  109. line = obj
  110. string ID S1
  111. if result ~= '' then line = line||' ID '||result
  112. popasl ID S2
  113. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  114. string ID S3
  115. if result ~= '' then line = line||' PORT '||result
  116. string ID S4
  117. if result ~= '' then line = line||' LABEL """'||result||'"""'
  118. line = line||get_attrs()
  119. call finish line
  120. return
  121.  
  122. set_space: procedure
  123. parse arg obj
  124.  
  125. line = obj
  126. check ID C1
  127. if result then line = line||' BAR'
  128. check ID C2
  129. if result then line = line||' HORIZ'
  130. string ID S1
  131. if result ~= '' then line = line||' '||result
  132. call finish line
  133. return
  134.  
  135. set_label: procedure
  136. parse arg obj
  137.  
  138. line = obj
  139. check ID C1
  140. if result then line = line||' LEFT'
  141. check ID C2
  142. if result then line = line||' CENTER'
  143. check ID C3
  144. if result then line = line||' SINGLE'
  145. check ID C4
  146. if result then line = line||' DOUBLE'
  147. string ID S1
  148. if result ~= '' then line = line||' "'||result||'"'
  149. call finish line
  150. return
  151.  
  152. set_view: procedure
  153. parse arg obj
  154.  
  155. line = obj
  156. string ID S1
  157. if result ~= '' then line = line||' ID '||result
  158. string ID S2
  159. if result ~= '' then line = line||' HELP """'||result||'"""'
  160. string ID S3
  161. if result ~= '' then line = line||' NODE '||result
  162. popasl ID S4
  163. if result ~= '' then line = line||' FILE "'||result'"'
  164. line = line||get_attrs()
  165. string ID S5
  166. if result ~= '' then line = line||' STRING "'||result||'"'
  167. call finish line
  168. return
  169.  
  170. set_gauge: procedure
  171. parse arg obj
  172.  
  173. line = obj
  174. string ID S1
  175. if result ~= '' then line = line||' ID '||result
  176. string ID S2
  177. if result ~= '' then line = line||' HELP """'||result||'"""'
  178. string ID S3
  179. if result ~= '' then line = line||' NODE '||result
  180. string ID S4
  181. if result ~= '' then line = line||' LABEL """'||result||'"""'
  182. line = line||get_attrs()
  183. call finish line
  184. return
  185.  
  186. set_gadget: procedure
  187. parse arg obj
  188.  
  189. line = obj
  190. string ID S1
  191. if result ~= '' then line = line||' ID '||result
  192. popasl ID S2
  193. gcommand = result
  194. if gcommand ~= '' then do
  195.     cycle ID L1
  196.     line = line||' '||upper(result)||' COMMAND """'||gcommand||'"""'
  197. end
  198. string ID S3
  199. if result ~= '' then line = line||' PORT '||result
  200. string ID S4
  201. if result ~= '' then line = line||' HELP """'||result||'"""'
  202. string ID S5
  203. if result ~= '' then line = line||' NODE '||result
  204. popasl ID S7
  205. name = result
  206. cycle ID L2
  207. type = result
  208. if name ~= '' then do
  209.     select
  210.         when type = 'Icon' then line = line||' ICON "'||name||'"'
  211.         when type = 'Picture' then do
  212.             line = line||' PICT "'||name||'"'
  213.             check ID C1
  214.             if result then line = line||' TRANS'
  215.         end
  216.         otherwise nop
  217.     end
  218. end
  219. line = line||get_attrs()
  220. string ID S6
  221. if result ~= '' then line = line||' LABEL "'||result||'"'
  222. call finish line
  223. return
  224.  
  225. set_image: procedure
  226. parse arg obj
  227.  
  228. line = obj
  229. string ID S1
  230. if result ~= '' then line = line||' ID '||result
  231. popasl ID S2
  232. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  233. string ID S3
  234. if result ~= '' then line = line||' PORT '||result
  235. string ID S4
  236. if result ~= '' then line = line||' HELP """'||result||'"""'
  237. string ID S5
  238. if result ~= '' then line = line||' NODE '||result
  239. string ID S6
  240. if result ~= '' then line = line||' STRINGS '||result
  241. cycle ID R1
  242. spec = result
  243. poplist ID S8
  244. sval = result
  245. if spec = 6 then do
  246.     sname = sval
  247.     call open('images','build:images.lst','R')
  248.     do while ~eof('images')
  249.         iline = readln('images')
  250.         if iline = '' then leave
  251.         parse var iline vname '=' value .
  252.         if index(vname,sname) > 0 then do
  253.             sval = value
  254.             leave
  255.         end
  256.     end
  257.     call close('images')
  258.     if sval = 15 then sval = ''
  259. end
  260. if sval ~= '' then line = line||' SPEC "'||spec':'sval||'"'
  261. line = line||get_attrs()
  262. call finish line
  263. return
  264.  
  265. set_cycle: procedure
  266. parse arg obj
  267.  
  268. line = obj
  269. string ID S1
  270. if result ~= '' then line = line||' ID '||result
  271. popasl ID S2
  272. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  273. string ID S3
  274. if result ~= '' then line = line||' PORT '||result
  275. string ID S4
  276. if result ~= '' then line = line||' HELP """'||result||'"""'
  277. string ID S5
  278. if result ~= '' then line = line||' NODE '||result
  279. string ID S6
  280. if result ~= '' then line = line||' LABELS """'||result||'"""'
  281. line = line||get_attrs()
  282. call finish line
  283. return
  284.  
  285. set_string: procedure
  286. parse arg obj
  287.  
  288. line = obj
  289. string ID S1
  290. if result ~= '' then line = line||' ID '||result
  291. popasl ID S2
  292. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  293. string ID S3
  294. if result ~= '' then line = line||' PORT '||result
  295. string ID S4
  296. if result ~= '' then line = line||' HELP """'||result||'"""'
  297. string ID S5
  298. if result ~= '' then line = line||' NODE '||result
  299. line = line||get_attrs()
  300. string ID S6
  301. if result ~= '' then line = line||' CONTENT "'||result||'"'
  302. call finish line
  303. return
  304.  
  305. set_popasl: procedure
  306. parse arg obj
  307.  
  308. line = obj
  309. string ID S1
  310. if result ~= '' then line = line||' ID '||result
  311. popasl ID S2
  312. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  313. string ID S3
  314. if result ~= '' then line = line||' PORT '||result
  315. string ID S4
  316. if result ~= '' then line = line||' HELP """'||result||'"""'
  317. string ID S5
  318. if result ~= '' then line = line||' NODE '||result
  319. cycle ID R1
  320. spec = result
  321. poplist ID S8
  322. sval = result
  323. if spec = 6 then do
  324.     sname = sval
  325.     call open('images','build:images.lst','R')
  326.     do while ~eof('images')
  327.         iline = readln('images')
  328.         if iline = '' then leave
  329.         parse var iline vname '=' value .
  330.         if index(vname,sname) > 0 then do
  331.             sval = value
  332.             leave
  333.         end
  334.     end
  335.     call close('images')
  336.     if sval = 18 then sval = ''
  337. end
  338. if sval ~= '' then line = line||' SPEC "'||spec':'sval||'"'
  339. if index(obj,'poplist') > 0 then do
  340.     string ID S7
  341.     if result ~= '' then line = line||' LABELS """'||result||'"""'
  342. end
  343. line = line||get_attrs()
  344. string ID S6
  345. if result ~= '' then line = line||' CONTENT "'||result||'"'
  346. call finish line
  347. return
  348.  
  349. set_slider: procedure
  350. parse arg obj
  351.  
  352. line = obj
  353. string ID S1
  354. if result ~= '' then line = line||' ID '||result
  355. popasl ID S2
  356. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  357. string ID S3
  358. if result ~= '' then line = line||' PORT '||result
  359. string ID S4
  360. if result ~= '' then line = line||' HELP """'||result||'"""'
  361. string ID S5
  362. if result ~= '' then line = line||' NODE '||result
  363. line = line||get_attrs()
  364. call finish line
  365. return
  366.  
  367. set_list: procedure
  368. parse arg obj
  369.  
  370. line = obj
  371. string ID S1
  372. if result ~= '' then line = line||' ID '||result
  373. popasl ID S2
  374. gcommand = result
  375. if gcommand ~= '' then do
  376.     cycle ID L1
  377.     line = line||' '||upper(result)||' COMMAND """'||gcommand||'"""'
  378. end
  379. string ID S3
  380. if result ~= '' then line = line||' PORT '||result
  381. string ID S4
  382. if result ~= '' then line = line||' HELP """'||result||'"""'
  383. string ID S5
  384. if result ~= '' then line = line||' NODE '||result
  385. string ID S6
  386. if result ~= '' then line = line||' TITLE """'||result||'"""'
  387. string ID S7
  388. if result ~= '' then line = line||' POS '||result
  389. check ID C1
  390. if result then line = line||' INSERT'
  391. check ID C2
  392. if result then line = line||' NODUP'
  393. check ID C3
  394. if result then line = line||' TOGGLE'
  395. line = line||get_attrs()
  396. string ID S8
  397. if result ~= '' then line = line||' STRING '||result
  398. call finish line
  399. return
  400.  
  401. set_dirlist: procedure
  402. parse arg obj
  403.  
  404. line = obj
  405. string ID S1
  406. if result ~= '' then line = line||' ID '||result
  407. popasl ID S2
  408. gcommand = result
  409. if gcommand ~= '' then do
  410.     cycle ID L1
  411.     line = line||' '||upper(result)||' COMMAND """'||gcommand||'"""'
  412. end
  413. string ID S3
  414. if result ~= '' then line = line||' PORT '||result
  415. string ID S4
  416. if result ~= '' then line = line||' HELP """'||result||'"""'
  417. string ID S5
  418. if result ~= '' then line = line||' NODE '||result
  419. string ID S6
  420. if result ~= '' then line = line||' PATH "'||result||'"'
  421. string ID S7
  422. if result ~= '' then line = line||' PATTERN "'||result||'"'
  423. check ID C1
  424. if result then line = line||' REREAD'
  425. check ID C2
  426. if result then line = line||' TOGGLE'
  427. line = line||get_attrs()
  428. call finish line
  429. return
  430.  
  431. set_volumelist: procedure
  432. parse arg obj
  433.  
  434. line = obj
  435. string ID S1
  436. if result ~= '' then line = line||' ID '||result
  437. popasl ID S2
  438. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  439. string ID S3
  440. if result ~= '' then line = line||' PORT '||result
  441. string ID S4
  442. if result ~= '' then line = line||' HELP """'||result||'"""'
  443. string ID S5
  444. if result ~= '' then line = line||' NODE '||result
  445. line = line||get_attrs()
  446. call finish line
  447. return
  448.  
  449. set_object: procedure
  450. parse arg obj
  451.  
  452. line = obj
  453. string ID S1
  454. if result ~= '' then line = line||' ID '||result
  455. popasl ID S2
  456. if result ~= '' then line = line||' COMMAND """'||result||'"""'
  457. string ID S3
  458. if result ~= '' then line = line||' PORT '||result
  459. string ID S4
  460. if result ~= '' then line = line||' HELP """'||result||'"""'
  461. string ID S5
  462. if result ~= '' then line = line||' NODE '||result
  463. string ID S6
  464. if result ~= '' then line = line||' CLASS "'||result||'"'
  465. string ID S7
  466. if result ~= '' then line = line||' TRIG '||result
  467. string ID S8
  468. if result ~= '' then line = line||' VAL '||result
  469. check ID C1
  470. if result then line = line||' BOOPSI'
  471. line = line||get_attrs()
  472. call finish line
  473. return
  474.  
  475. set_application: procedure
  476. parse arg obj
  477.  
  478. line = obj||get_attrs()
  479. call finish line
  480. return
  481.  
  482. set_method: procedure
  483. parse arg obj
  484.  
  485. line = obj
  486. string ID S1
  487. if result ~= '' then line = line||' ID '||result
  488. i = 0
  489. do forever
  490.     list ID ALST POS i
  491.     aname = result
  492.     if aname = '' then break
  493.     line = line||' '||strip(aname)
  494.     i = i + 1
  495. end
  496. call finish line
  497. return
  498.  
  499. set_generic: procedure
  500.  
  501. line = ''
  502. string ID P1
  503. if result ~= '' then line = result
  504. call finish line
  505. return
  506.  
  507. finish: procedure
  508. parse arg line
  509.  
  510. List_Active =                     0x8042391c /* V4  isg LONG              */
  511.  
  512. window ID SET CLOSE
  513. list ID DLST ATTRS List_Active
  514. n = result
  515. list ID DLST POS n STRING '='||line
  516. return
  517.  
  518. get_attrs: procedure
  519.  
  520. line = ''
  521. i = 0
  522. do forever
  523.     list ID ALST POS i
  524.     aname = result
  525.     if aname = '' then break
  526.     if i = 0 then line = line||' ATTRS'
  527.     parse var aname name',='value
  528.     if strip(value) ~= '' then line = line||' '||strip(name)||' '||strip(value)
  529.     i = i + 1
  530. end
  531. return line
  532.